extends 基础状态
@export var 玩家:玩家节点


func 进入状态() -> void:
	super.进入状态()
	QuanJuDebug.武器状态机更改.emit(self.name)
	if Input.is_action_pressed("瞄准"):
		武器_状态机.切换状态("武器瞄准与发射")
	if Input.is_action_pressed("射击"):
		武器_状态机.射击()
	pass


func 退出状态() -> void:
	super.退出状态()
	pass


func 渲染帧更新触发(_delta: float) -> void:
	super.渲染帧更新触发(_delta)
	pass


func 物理帧更新触发(_delta: float) -> void:
	super.物理帧更新触发(_delta)
	if Input.is_action_pressed("换弹") and not 武器_状态机.武器动画播放器.is_playing():
		var 库存弹药 = 武器_状态机.玩家弹药属性.get(str(武器_状态机.当前武器.武器类型)+"弹药")
		if 库存弹药 != 0 :
			if 武器_状态机.当前武器.当前武器弹容量 < 武器_状态机.当前武器.武器弹容量:
				武器_状态机.切换状态("武器换弹")
			pass
	pass

func _input(event: InputEvent) -> void:
	if event.is_action_pressed("射击") and 武器_状态机.当前状态==武器_状态机.武器待机与腰射:
		武器_状态机.射击()
	elif event.is_action_pressed("瞄准") and 武器_状态机.当前状态==武器_状态机.武器待机与腰射:
		武器_状态机.切换状态("武器瞄准与发射")
